﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PasswordEnumerator
{
    /// <summary>
    ///  项
    /// </summary>
    public class Words
    {
        /// <summary>
        /// 数字
        /// </summary>
        public const string StrNumbers = "0飝1飝2飝3飝4飝5飝6飝7飝8飝9";
        /// <summary>
        /// 小写字母
        /// </summary>
        public const string StrLowerWords = "a飝b飝c飝d飝e飝f飝g飝h飝i飝j飝k飝l飝m飝n飝o飝p飝q飝r飝s飝t飝u飝v飝w飝x飝y飝z";
        /// <summary>
        /// 大写字母
        /// </summary>
        public const string StrUpperWords = "A飝B飝C飝D飝E飝F飝G飝H飝I飝J飝K飝L飝M飝N飝O飝P飝Q飝R飝S飝T飝U飝V飝W飝X飝Y飝Z";
        /// <summary>
        /// 特殊字符
        /// </summary>
        public const string StrSpecial = "`飝~飝!飝@飝#飝$飝%飝^飝&飝*飝(飝)飝_飝+飝-飝=飝[飝]飝\\飝{飝}飝|飝;飝'飝:飝\"飝,飝.飝/飝<飝>飝?";
        //string s =  "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        /// <summary>
        /// 自定义的 密码组合
        /// </summary>
        public static string[] StrSelfWords;

        /// <summary>
        /// 分隔符
        /// </summary>
        public const char SeparatorWord = '飝';

        /// <summary>
        /// 合并2个 数组
        /// </summary>
        /// <param name="strArray1"></param>
        /// <param name="strArray2"></param>
        /// <returns></returns>
        public static string[] JoinArray(string[] strArray1, string[] strArray2)
        {
            string[] temp = new string[strArray1.Length + strArray2.Length];
            //连接两个数组
            for (int i = 0; i < strArray1.Length; i++)
            {
                temp[i] = strArray1[i];
            }
            for (int i = 0; i < strArray2.Length; i++)
            {
                temp[strArray1.Length + i] = strArray2[i];
            }
            return temp;
        }

        /// <summary>
        /// 合并3个 数组
        /// </summary>
        /// <param name="strArray1"></param>
        /// <param name="strArray2"></param>
        /// <param name="strArray3"></param>
        /// <returns></returns>
        public static string[] JoinArray(string[] strArray1, string[] strArray2, string[] strArray3)
        {
            string[] temp = new string[strArray1.Length + strArray2.Length + strArray3.Length];
            //连接数组
            for (int i = 0; i < strArray1.Length; i++)
            {
                temp[i] = strArray1[i];
            }
            for (int i = 0; i < strArray2.Length; i++)
            {
                temp[strArray1.Length + i] = strArray2[i];
            }
            for (int i = 0; i < strArray3.Length; i++)
            {
                temp[strArray1.Length + strArray2.Length + i] = strArray3[i];
            }
            return temp;
        }
    }
}
